package com.jprocms.module.cms.service.accesstrend;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jprocms.module.cms.controller.admin.accesstrend.vo.AccessTrendListReqVO;
import com.jprocms.module.cms.dal.dataobject.accesstrend.AccessTrendDO;
import org.springframework.lang.Nullable;

import java.time.OffsetDateTime;
import java.util.List;

/**
 * 访问统计趋势 Service 接口
 *
 * @author jprocms
 */
public interface AccessTrendService extends IService<AccessTrendDO> {

    /**
     * 获得访问统计趋势列表, 用于 Excel 导出
     *
     * @param exportReqVO 查询条件
     * @return 访问统计趋势列表
     */
    List<AccessTrendDO> getAccessTrendList(AccessTrendListReqVO exportReqVO);

    void deleteBeforeDateString(String dateString, short period);

    void deleteByDateString(String dateString);

    List<AccessTrendDO> statByMonth(OffsetDateTime begin, OffsetDateTime end);

    List<AccessTrendDO> selectFullList(@Nullable Long siteId, short period, @Nullable String begin, String end);

}
